package primary_nowcoder._36_70Exercise;

import java.io.IOException;
import java.util.Scanner;

/*
简单计算器
 */
public class _54_SimpleCalculator {
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            //整体输入，判断得到a、b数组
            String str = sc.nextLine();
            char[] chars = str.toCharArray();
            char[] a1 = new char[chars.length];
            char[] b1 = new char[chars.length];
            int n = 0;
            char ch = 0;
            for (int i = 0; i < chars.length; i++) {
                if (chars[i] >= '0' && chars[i] <= '9') {
                    a1[i] = chars[i];
                } else if (chars[i] == '.'){
                    a1[i] = chars[i];
                }else {
                    ch = chars[i];
                    n = i;
                    break;
                }
            }
            for (int i = n+1; i < chars.length; i++) {
                b1[i] = chars[i];
            }

            //得到a、b
            String stra = String.valueOf(a1);
            double a = Double.parseDouble(stra);
            String strb = String.valueOf(b1);
            double b = Double.parseDouble(strb);
            System.out.printf("精度前  %f %f\n",a,b);


            //计算
            if (ch == '+') {
                System.out.printf("%.4f+%.4f=%.4f", a, b, a + b);
            } else if (ch == '-') {
                System.out.printf("%.4f-%.4f=%.4f", a, b, a - b);
            } else if (ch == '*') {
                System.out.printf("%.4f*%.4f=%.4f", a, b, a * b);
            } else if (ch == '/') {
                if (b == 0) {
                    System.out.printf("Wrong!Division by zero!");
                } else {
                    System.out.printf("%.4f/%.4f=%.4f", a, b, a / b);
                }
            } else {
                System.out.printf("Invalid operation!");
            }
            System.out.println();
        }
        sc.close();
    }
}
/*
题目描述
KiKi实现一个简单计算器，实现两个数的“加减乘除”运算，用户从键盘输入算式“操作数1运算符操作数2”，计算并输出表达式的值，如果输入的运算符号不包括在（+、-、*、/）范围内，输出“Invalid operation!”。当运算符为除法运算，即“/”时。如果操作数2等于0.0，则输出“Wrong!Division by zero!”
输入描述:
多组输入，一行，操作数1运算符操作数2（其中运算符号包括四种：+、-、*、/）。
输出描述:
针对每组输入，输出为一行。

如果操作数和运算符号均合法，则输出一个表达式，操作数1运算符操作数2=运算结果，各数小数点后均保留4位，数和符号之间没有空格。

如果输入的运算符号不包括在（+、-、*、/）范围内，输出“Invalid operation!”。当运算符为除法运算，即“/”时。

如果操作数2等于0.0，则输出“Wrong!Division by zero!”。
示例1
输入
复制
1.0+3.0
1.0;4.0
44.0/0.0
输出
复制
1.0000+3.0000=4.0000
Invalid operation!
Wrong!Division by zero!
 */